Secure platform implementing dynamic countermeasures

ABSTRACT

The present invention relates to a secure platform implementing dynamic countermeasures in relation with the execution of a code, said secure platform having at least a security sensor, a countermeasure controller and countermeasure means. According to the invention, said countermeasure controller includes at least one security sensor flag able to take at least two sensor flag values depending on the output of the security sensor, a table storing N possible security configuration for the countermeasures, a random generator to generate a random configuration value, a decision function using the sensor flag value and the random configuration value to determine a security configuration in the table to be executed by countermeasure means.

FIELD OF THE INVENTION

The present invention relates to a secure platform implementing dynamic countermeasures in relation with the execution of a code. More precisely, it concerns such a platform having at least a security sensor able to detect security thread, a countermeasure controller and countermeasure means. More generally, the invention concerns all operating system or piece of code or hardware implementation that need to be executed on secure platform having at least a security sensor.

The invention also pertains to a method to control dynamic countermeasures in relation with the execution of a code.

BACKGROUND OF THE INVENTION

Generally, protecting the entire code execution is too expensive and, in current implementations, the security configuration is fixed by default and it is dependent of the sensitivity of the process executed.

That means, sensitive code like cryptographic operations are well protected but other part of the code are more vulnerable.

If the entire code needs to be protected, the countermeasures will be enabled all the time and the performances will be decreased accordingly.

Increasing countermeasures level in case an attack is detected is also known. It may consist in temporarily freezing the execution of the code or any other known countermeasures. However, such method does not enable any adaptation of the countermeasures.

SUMMARY OF THE INVENTION

The goal of the invention is to avoid performances penalties introduced by software or hardware countermeasures when there is no attack detected and to optimize the countermeasures when an attack is detected.

The present invention thus concerns a secure platform where said countermeasure controller includes:

at least one security sensor flag taking at least two values depending on the outputs from the security sensor,

a table storing n possible security configuration for the countermeasures,

a random generator to generate a configuration random value,

a decision function using the value of the security sensor flag and the configuration random value to determine a security configuration in the table to be executed by countermeasure means.

With the invention, adapted security protections will be enabled only when security risks or alarms are raised. As a consequence, overall performance of the product will be better with the invention. The invention also enables countermeasure to be randomly configured and thus diversified which renders the task of the attacker even more difficult. The size of the configuration table can be adapted to the system and to the security level. The configuration table is scaled accordingly.

According to a particular feature, a default configuration is executed when the security sensor flag is cleared.

This feature enables to keep the security low at any time the sensor flag is cleared. It also enables to fall back to a low security level as soon as the sensor flag is cleared.

Advantageously, the security sensor flag is of semi-persistent kind.

This feature means that the sensor flag is cleared after a given duration without new detection input from the sensor.

It enables the secure platform to adapt its countermeasure configuration to any return to a normal situation without attacks. Advantageously hardware semi-persistent flags constitute the security sensor flag.

According to a particular feature, the semi-persistence is such that security sensor flag is decreased after a given number of consecutive executions without detection of a security thread.

Here the semi-persistence duration is a number of events, i.e. a given number of consecutive executions without detection.

The present invention also relates to a method to control dynamic countermeasures in relation with the execution of a code, said method comprising the following steps:

monitoring a security sensor,

modifying the value of at least one security sensor flag depending on the outputs from the security sensor,

generating a configuration random value for at least one given value of the security sensor flag,

deciding a security configuration for the countermeasures from a table storing n possible security configurations, said decision depending on the value of the security sensor flag and on the configuration random value,

executing countermeasures according to the security configuration.

BRIEF DESCRIPTION OF THE DRAWINGS

The following description and the annexed drawings set forth in detail certain illustrative aspects and are indicative of but a few of the various ways in which the principles of the embodiments may be employed. Other advantages and novel features will become apparent from the following detailed description when considered in conjunction with the drawings and the disclosed embodiments are intended to include all such aspects and their equivalents.

FIG. 1 schematically represents a secure platform of the invention;

FIG. 2 schematically illustrates the countermeasures' configuration choice depending on a decision function value as defined by the decision function of the invention;

FIG. 3 shows an illustrative flowchart of the method of the invention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

The same elements have been designated with the same reference numerals in the different drawings. For clarity, only those elements and steps which are useful to the understanding of the present invention have been shown in the drawings and will be described.

FIG. 1 schematically shows a security platform SP including a security sensor SS and countermeasure means CM. Said security platform SP also comprises at least a countermeasure controller CC having a security sensor flag SSF triggered by the security sensor SS in order to output a sensor flag value SFV thus indicating a potential security risk. This security sensor flag SSF can be hardware or software implemented.

The countermeasure controller CC also includes a table T storing a given number N of possible security configurations SC and a random generator RG to generate a random configuration value RCV. This last value RCV is for instance a number between 1 and N. The random configuration value RCV is provided with the sensor flag value SFV to a decision function DF(SFV,RCV).

This decision function DF uses the sensor flag value SFV and the random configuration value RCV to randomly select a security configuration SC among N possible configurations SC in the table T. For example, as illustrated on FIG. 1, the decision function DF calculates a decision function value DFV sent to a configuration selection function CSF that will select the corresponding security configuration SC_(DFV) in the table and make countermeasure means CM to apply the corresponding countermeasures.

FIG. 2 schematically shows the table T listing the possible security configurations SC_(DFV) chosen in function of the decision function value DFV.

Each security configuration SC advantageously comprises a set of settings: clock setting, hardware counter measure settings, software counter measure settings, voltage range setting etc.

FIG. 3 is a flowchart of the method of the invention. The first step SSM consists in monitoring the security sensor SS. Typically, as long as the output of the sensor is null (case “0” on FIG. 3), the monitoring continues without subsequent actions.

As soon as the sensor's output is not null (case “X” on FIG. 3), a security flag value SFV is produced. Subsequently or simultaneously, a step RCVG of generation of a random configuration value RCV is performed.

This generated value RCV and the security flag value SFV are then used in a security confirmation decision step SCD to determine a selected security configuration SC_(i). This selection is for instance done in a table T. The selected configuration SC_(i) is then applied in a security configuration application step SCA.

Consequently, with the invention, if a security issue is detected by the security sensor SS, the configuration used by the secure platform is randomly selected among N possible configurations with a better security level, i.e. configuration having more counter measures than a default one, for instance SC₀, but with a lower performance in terms of code execution or in terms of energy required.

Each time the security sensor SS is checked, the configuration of the security can potentially be changed. As the security configuration changes depend on the sensor flag value changes, they are in both ways, by increasing the security or by decreasing it. Decrease is observed as soon as the sensor flag value SFV is returned to a null value by example or as soon as, the security sensor flag SSF being semi-persistent, the sensor flag value is back to its default value. Thus, once the security sensor flag SSF is cleared, the device could run again with a default configuration optimized for performances. In fact, the default configuration, for example SC₀, uses the settings needed to achieve the best performance in time for the execution of the code.

With the invention, better performances can be reached as protections will be enabled only in case of an attack. Better security is also reached as the entire software, and not only the sensitive process, could benefit from secure system configuration.

In the above detailed description, reference is made to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention but the detailed description is, therefore, not to be taken in a limiting sense. The scope of the present invention is defined only by the appended claims, appropriately interpreted, along with the full range of equivalents to which the claims are entitled. In particular it will be understood that the use of a table has equivalents in the computer field to store a list if configuration defined typically by security countermeasure settings. 

1. A secure platform implementing dynamic countermeasures in relation with the execution of a code, said secure platform having at least a security sensor able to detect a security thread, a countermeasure controller and countermeasure means, said countermeasure controller including: at least one security sensor flag able to take at least two sensor flag values (SFV) depending on the output of the security sensor, a table storing N possible security configurations for the countermeasures, a random generator to generate a random configuration value, and a decision function using the sensor flag value and the random configuration value to determine a security configuration in the table to be executed by the countermeasure means.
 2. The secure platform according to claim 1, wherein a default configuration is executed when the security sensor flag is cleared.
 3. The secure platform according to claim 1, wherein the security sensor flag is of a semi-persistent kind.
 4. The secure platform according to claim 3, wherein the semi-persistence is such that the security sensor flag is decreased after a given number of consecutive executions without detection of a security thread.
 5. A method to control dynamic countermeasures in relation with the execution of a code, said method comprising the following steps: monitoring a security sensor, modifying a sensor flag value depending on the outputs from the security sensor, generating a random configuration value, deciding a security configuration for the countermeasures from a table storing N possible security configurations, said decision depending on the sensor flag value and on the random configuration value, and executing countermeasures according to the security configuration. 